Інформація про новину
  • Переглядів: 13440
  • Дата: 20-09-2020, 21:55
20-09-2020, 21:55

12. Реалізація алгоритмів повторення мовою програмування в Python

Категорія: Інформатика





Попередня сторінка:  11. Опрацювання величин логічного типу....
Наступна сторінка:   13. Електронні таблиці та їхні об’єкти

Ви дізнаєтесь:

  • як мовою програмування Python описують цикл із передумовою;
  • як мовою програмування Python описують цикл із параметром;
  • як керувати виконанням повторень у мові програмування Python.

1. Як мовою програмування Python описують цикл із передумовою?

Ви знаєте, що алгоритм, у якому передбачається багаторазове виконання одного й того самого набору команд, називають циклічним. У циклічних алгоритмах використовують алгоритмічну структуру повторення. У мовах програмування для опису структури повторення використовують оператори циклу.

Будь-який оператор циклу складається з двох частин: заголовка та тіла. У заголовку циклу записуються умови, за яких виконання циклу триватиме або завершиться, а в тілі циклу містяться команди, виконання яких потрібно повторювати (мал. 12.1).

У мові програмування Python цикл із передумовою описується оператором while... (табл. 12.1).

Скорочена форма оператора while працює таким чином. Визначається значення логічного виразу. Якщо це значення true, то виконується команда, що слідує після рядка зі знаком «:» у рядках, які мають відступ 4 позиції. Якщо значення логічного виразу false, то цикл завершується й управління передається команді, яка записана у програмному коді після тіла циклу (з рядка, який перебуває на тому ж рівні, що і команда while). У тілі циклу обов’язково використовують команду, яка буде змінювати значення величини, що використовується в логічному виразі.

Повна форма оператора whi 1 е мовою програмування Python, окрім команд, що входять до блоку while, використовує конструкцію else: після якої в новому рядку роблять відступ 4 позиції та записують команди, що мають виконуватись, якщо значення логічного виразу

false.

Вправа 1. Число навпаки.

Завдання. Складіть програму, яка задане ціле число перетворює на число, записане навпаки. Наприклад, при введенні числа 123 отримуємо 321.

1. Розгляньте анімацію «перетворення» числа за вказаною умовою у файлі Перетворення, який збережено в папці Програмування.

2. Проаналізуйте, які команди блок-схеми (мал. 12.2) реалізують розглянуту анімацію. Урахуйте, що у блок-схемі використано такі змінні:

a — задане число; п— нове число; z — виділена цифра.

3. Передбачте, які команди мови Python відповідають блокам на малюнку 12.2.

4. Відкрийте середовище програмування Thonny.

5. Створіть новий файл програми мовою Python з іменем Число навпаки в папці Програми своєї структури папок.

6. Запишіть складену програму. Запустіть програму на виконання. Доберіть самостійно значення змінних для тестування програми.

2. Як мовою програмування Python описують цикл із параметром?

Для того щоб описати повторення визначену кількість разів, використовують оператор циклу з параметром.

У мові програмування Python цикл із параметром описується оператором for... (мал. 12.3).

Цикл for... виконується за такими алгоритмом:

1. Параметру циклу і присвоюється початкове значення.

2. Якщо значення параметра циклу більше, ніж його кінцеве значення, то цикл завершується. Інакше виконується п. 3.

3. Виконується команда.

4. Значення параметра циклу і змінюється на відповідне наступне значення, і здійснюється перехід до п 2. і т.д.

Наприклад, результатом виконання наступного фрагмента програми:

Таким чином, на відміну від оператора циклу while, в операторі циклу з параметром зміна значення параметра здійснюється автоматично.

Для визначення діапазону значень параметра у програмах мовою програмування Python можна скористатись функцією range (табл. 12.3).

Таблиця 12.2

Можна скористатись величиною перелічуваного типу. Наприклад, списком непарних чисел першого десятка: 1, 3, 5, 7, 9 — або списком голосних літер українського алфавіту: ‘aYoYyYeYHYiY’iYio’. Список значень у мові програмування Python обмежують квадратними дужками [].

3. Як керувати виконанням повторень у мові програмування Python?

У мові програмування Python можна використовувати достроковий вихід із циклу. За допомогою функції break можна перервати виконання команд тіла циклу та перевести управління до команди, яка слідує після блоку команд, що належать до while або for.

Якщо в операторах циклу for або while використовують конструкцію else, то за таких умов здійснюється перевірка, чи був вихід із циклу здійснений за допомогою команди break, або ж «природнім» чином. Блок команд після else буде виконаний у тому разі, якщо вихід із циклу відбувся без використання команди break.

Оператор continue починає наступний прохід циклу, минаючи частину тіла циклу for або while, що залишилась.

Приклади використання команд керування повторень подано в таблиці 12.3.

Таблиця 12.3

Вправа 2. Сума чисел першого десятка.

Завдання. Розробіть програму Сума чисел, за допомогою якої можна обчислити значення суми 1 + 2 + 3 +... + 10.

1. Проаналізуйте умову задачі та визначте змінні для її розв’язування. Нехай s — змінна цілого типу для обчислення потрібної суми, і — параметр циклу.

2. Розгляньте блок-схему розв’язування завдання (мал. 12.4). Звер

ніть увагу на блок

Він відповідає команді for...

3. Передбачте, які команди мови Python відповідають блокам на малюнку 12.4. Урахуйте, що мовою Python команду s=s+i можна записати s+=i.

4. Відкрийте середовище програмування Thonny.

5. Створіть новий файл програми мовою Python з іменем Сума чисел у папці Програми своєї структури папок.

6. Запустіть програму на виконання. Порівняйте отриманий результат із числом 45.

Вправа 3. Кількість слів у реченні.

Завдання. Розробіть програму Речення, за допомогою якої можна

визначити, скільки слів введено в текстове поле, якщо відомо, що між

словами міститься лише один пропуск.

1. Проаналізуйте умову задачі та визначте змінні для її розв’язування. Нехай введене речення буде надано текстовій змінній s, кількість слів — змінній k цілого типу, п — довжина рядка s, І — виділена літера введеного слова.

2. Розгляньте блок-схему розв’язування завдання (мал. 12.5).

3. Передбачте, які команди мови Python відповідають блокам на малюнку 12.5.

4. Відкрийте середовище програмування Thonny.

5. Створіть новий файл програми мовою Python з іменем Речення в папці Програми свої структури папок.

6. Запустіть програму на виконання. Доберіть самостійно значення змінних для тестування програми.

Вправа 4. Гра.

Завдання. Проаналізуйте програму мовою програмування Python, яка реалізує гру Відгадай число між комп’ютером і користувачем. Користувач не більше ніж за 6 спроб має відгадати «задумане» число з діапазону від 1 до 20. Якщо користувач відгадає, то на екран виводиться повідомлення про кількість спроб, якщо ні — «задумане число». Змініть програмний код так, щоб замість циклу while використати цикл for.

1. Відкрийте файл з іменем Відгадай число в папці Програмування.

2. Розгляньте програму. Проаналізуйте, яке призначення кожного рядка програмного коду.

3. Запустіть програму на виконання.

4. Збережіть файл з іменем Гра в папці Програми своєї структури папок. Внесіть зміни у програмний код так, щоб замість циклу while використати цикл for.

5. Запустіть програму на виконання. Перевірте, чи впливають внесені зміни на гру.

6. Завершіть роботу із середовищем.

1. Які оператори для опису алгоритмічної структури повторення використовують у програмах мовою Python?

2. Як в операторах циклу в мові програмування Python організовують виконання декількох команд у тілі циклу?

3. Що спільного та чим різняться цикли while і for у мові програмування Python?

4. Поясніть, коли припиняється виконання команд у тілі циклу для циклів з передумовою та циклу з параметром. Чи можна вимушено перервати або продовжити виконання циклу?

5. Обговоріть, що буде результатом виконання таких програм. Перевірте свої здогадки в середовищі Thonny.

6. У програмах описаних завдань автори припустились деяких помилок. Відшукайте помилки. Обговоріть їх у парі. Запропонуйте одне одному шляхи вирішення.

1) Дано два цілих числа а і b (а < Ь). Виведіть усі числа від а до & включно.

2) Дано натуральне число п. Знайдіть п\ (добуток всіх натуральних чисел, що не перевищує п, тобто 1*2*3*...*л).

3) У перший день спортсмен пробіг х кілометрів, а потім він кожного дня збільшував пробіг на 10 % від попереднього значення. Заданим числом у визначте номер дня, за який пробіг спортсмена становитиме не менше у кілометрів.

7. Яких значень буде надано змінним, імена яких трапляються в командах, у результаті виконання таких фрагментів програм (для різних значень вхідних даних):

8. Складіть блок-схему та відповідну програму мовою Python для виконання таких дій:

1) друкується таблиця множення на 9;

2) друкуються квадрати чисел від 10 до 1;

3) знаходиться сума цілих чисел від 10 до 100;

4) обчислюється добуток парних чисел першого десятка;

5) обчислюється сума дробів, знаменниками яких є непарні числа від 3 до 9;

6) визначається кількість введених речень (речення закінчується крапкою, знаком оклику чи знаком запитання);

7) визначається середнє значення всіх елементів послідовності, яка завершується числом 0.

У завданнях 9-12 складіть блок-схему виконання завдання та розробіть відповідну програму в середовищі програмування мовою Python.

9. Програму НСД, у якій для двох цілих чисел визначають їх найменший спільний дільник.

10. Програму Дії, у якій у введеному виразі, що містить арифметичні операції без дужок і математичних функцій, у повідомленні буде виводитись, які дії потрібно виконати.

11. Програму Фрагмент, у якій з тексту, що вводиться з клавіатури, буде виводитись та його частина, що розташована до першої крапки.

12. Програму Малюнки, у якій відбувається малювання таких фігур (колір задається випадково зі списку: ‘blue’, ‘red’, ‘yellow’, ‘green’, ‘gray’, ‘brown’, ‘purple’) (мал. 12.6).

Поясніть, яку мові програмування Python реалізують команди повторення.

Узагальнюємо

 

 

Це матеріал з підручника Інформатика 7 клас Морзе

 




Попередня сторінка:  11. Опрацювання величин логічного типу....
Наступна сторінка:   13. Електронні таблиці та їхні об’єкти



^